<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dom4j - 1.6.1</title>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
</head>
<body>
<TABLE cellspacing="0" cellpadding="2"><TBODY>
    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ HTMLWriter.java -->
  <TR>
    <TD colspan="6" class="reportHeader">
    <TABLE width="100%"><TR>
    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b>&nbsp;ma mei 16 2005 14:23:01 GMT+01:00</DIV>
            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>&nbsp;&nbsp;&nbsp;<a href="pkg-summary.html"><b>Package</b></a>&nbsp;&nbsp;&nbsp;<font class="navBarCurrent">File</font></DIV>
    
<DIV class="navBarLink">
&nbsp;&nbsp;&nbsp;
    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>&nbsp;&nbsp;
<A HREF="HTMLWriter.html" TARGET="_top">NO FRAMES</A>&nbsp;&nbsp;
    </DIV>

</TD>
         <td class="headerStats" valign="top" width="40%" align="right">
        <table align="right">
         <tr>
           <td nowrap><b>file stats:</b></td>
           <td align="right"><b>LOC:</b></td>
           <td align="right">841</td>
           <td width="10%">&nbsp;</td>
           <td align="right"><b>Methods:</b></td>
           <td align="right">32</td>
         </tr>
         <tr>
           <td></td>
           <td align="right"><b>NCLOC:</b></td>
           <td align="right">281</td>
           <td width="10%">&nbsp;</td>
           <td align="right"><b>Classes:</b></td>
           <td align="right">2</td>
         </tr>
      </table>
     </td>
    </TR></TABLE>
   </TD>
  </TR>

<TR><TD class="hbreak" colspan="6">&nbsp;</TD></TR>
  <TR>
    <TD class="graphHeaderLeft"><b>&nbsp;Source file</b></TD>
    <TD class="graphHeader">Conditionals</TD>
    <TD class="graphHeader">Statements</TD>
    <TD class="graphHeader">Methods</TD>
    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
  </TR>   
  <TR>
    <TD class="graphItem">
        	   HTMLWriter.java
	    </TD>
   
    <TD class="graphPercent" align="center">29,5%</TD>
    <TD class="graphPercent" align="center">37%</TD>
    <TD class="graphPercent" align="center">37,5%</TD>
    <TD class="graphBarLeft" align="center"><B>35,5%</B></TD>
    <TD class="graphBar">
            <TABLE class="barGraph" cellspacing="0">
        <TBODY>
          <TR>
	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
                   width="71" height="12"></TD>
            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
                   width="129" height="12"></TD>
	   	  </TR>
	</TBODY>
      </TABLE>
          </TD>
  </TR> 
</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
<TR><TD align="right" class="lineCount">
&nbsp;1</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;2</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;3</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;4</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;5</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;6</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;7</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;8</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;9</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;10</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;11</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.OutputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;12</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.StringWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;13</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.UnsupportedEncodingException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;14</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;15</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashSet;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;16</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;17</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Set;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;18</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Stack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;19</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;20</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;21</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentHelper;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;22</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;23</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Entity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;24</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;25</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;26</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;27</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;28</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;29</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;30</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;code&gt;HTMLWriter&lt;/code&gt; takes a DOM4J tree and formats it to a stream as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;31</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * HTML. This formatter is similar to XMLWriter but it outputs the text of CDATA</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;32</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and Entity sections rather than the serialised format as in XML, it has an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;33</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * XHTML mode, it retains whitespace in certain elements such as &amp;lt;PRE&amp;gt;,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;34</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and it supports certain elements which have no corresponding close tag such</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;35</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * as for &amp;lt;BR&amp;gt; and &amp;lt;P&amp;gt;.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;36</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;37</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;38</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;39</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * The OutputFormat passed in to the constructor is checked for isXHTML() and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;40</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * isExpandEmptyElements(). See {@link OutputFormat OutputFormat}for details.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;41</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Here are the rules for &lt;b&gt;this class &lt;/b&gt; based on an OutputFormat, "format",</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;42</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * passed in to the constructor: &lt;br/&gt;&lt;br/&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;43</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;44</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;ul&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;45</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;li&gt;If an element is in {@link #getOmitElementCloseSet()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;46</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * getOmitElementCloseSet}, then it is treated specially:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;47</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;48</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;ul&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;49</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;li&gt;It never expands, since some browsers treat this as two separate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;50</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Horizontal Rules: &amp;lt;HR&amp;gt;&amp;lt;/HR&amp;gt;&lt;/li&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;51</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;li&gt;If {@link org.dom4j.io.OutputFormat#isXHTML() format.isXHTML()}, then</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;52</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * it has a space before the closing single-tag slash, since Netscape 4.x-</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;53</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * treats this: &amp;lt;HR /&amp;gt; as an element named "HR" with an attribute named</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;54</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "/", but that's better than when it refuses to recognize this: &amp;lt;hr/&amp;gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;55</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * which it thinks is an element named "HR/".&lt;/li&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;56</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/ul&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;57</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;58</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/li&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;59</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;li&gt;If {@link org.dom4j.io.OutputFormat#isXHTML() format.isXHTML()}, all</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;60</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * elements must have either a close element, or be a closed single tag.&lt;/li&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;61</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;li&gt;If {@link org.dom4j.io.OutputFormat#isExpandEmptyElements()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;62</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * format.isExpandEmptyElements()}() is true, all elements are expanded except</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;63</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * as above.&lt;/li&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;64</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/ul&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;65</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;66</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;b&gt;Examples &lt;/b&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;67</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;68</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;69</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;70</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;71</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;72</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;73</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * If isXHTML == true, CDATA sections look like this:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;74</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;75</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;PRE&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;76</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;77</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;b&gt;&amp;lt;myelement&amp;gt;&amp;lt;![CDATA[My data]]&amp;gt;&amp;lt;/myelement&amp;gt; &lt;/b&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;78</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;79</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/PRE&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;80</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;81</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Otherwise, they look like this:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;82</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;83</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;PRE&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;84</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;85</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;b&gt;&amp;lt;myelement&amp;gt;My data&amp;lt;/myelement&amp;gt; &lt;/b&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;86</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;87</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/PRE&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;88</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;89</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;90</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;91</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;92</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Basically, {@link OutputFormat.isXHTML() OutputFormat.isXHTML()} ==</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;93</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;code&gt;true&lt;/code&gt; will produce valid XML, while {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;94</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * org.dom4j.io.OutputFormat#isExpandEmptyElements()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;95</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * format.isExpandEmptyElements()} determines whether empty elements are</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;96</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * expanded if isXHTML is true, excepting the special HTML single tags.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;97</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;98</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;99</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;100</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Also, HTMLWriter handles tags whose contents should be preformatted, that is,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;101</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * whitespace-preserved. By default, this set includes the tags &amp;lt;PRE&amp;gt;,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;102</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &amp;lt;SCRIPT&amp;gt;, &amp;lt;STYLE&amp;gt;, and &amp;lt;TEXTAREA&amp;gt;, case insensitively. It</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;103</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * does not include &amp;lt;IFRAME&amp;gt;. Other tags, such as &amp;lt;CODE&amp;gt;,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;104</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &amp;lt;KBD&amp;gt;, &amp;lt;TT&amp;gt;, &amp;lt;VAR&amp;gt;, are usually rendered in a different</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;105</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * font in most browsers, but don't preserve whitespace, so they also don't</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;106</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * appear in the default list. HTML Comments are always whitespace-preserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;107</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * However, the parser you use may store comments with linefeed-only text nodes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;108</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * (\n) even if your platform uses another line.separator character, and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;109</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * HTMLWriter outputs Comment nodes exactly as the DOM is set up by the parser.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;110</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See examples and discussion here: {@link#setPreformattedTags(java.util.Set)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;111</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * setPreformattedTags}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;112</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;113</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;114</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;115</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;b&gt;Examples &lt;/b&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;116</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;117</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;blockquote&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;118</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;119</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;b&gt;Pretty Printing &lt;/b&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;120</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;121</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;122</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;123</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This example shows how to pretty print a string containing a valid HTML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;124</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * document to a string. You can also just call the static methods of this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;125</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * class: &lt;br&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;126</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link #prettyPrintHTML(String) prettyPrintHTML(String)}or &lt;br&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;127</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link #prettyPrintHTML(String,boolean,boolean,boolean,boolean)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;128</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * prettyPrintHTML(String,boolean,boolean,boolean,boolean)} or, &lt;br&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;129</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link #prettyPrintXHTML(String) prettyPrintXHTML(String)}for XHTML (note</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;130</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * the X)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;131</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;132</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;133</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;134</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * String testPrettyPrint(String html) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;135</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     StringWriter sw = new StringWriter();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;136</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     OutputFormat format = OutputFormat.createPrettyPrint();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;137</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     // These are the default values for createPrettyPrint,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;138</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     // so you needn't set them:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;139</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     // format.setNewlines(true);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;140</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     // format.setTrimText(true);&amp;lt;/font&amp;gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;141</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setXHTML(true);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;142</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     HTMLWriter writer = new HTMLWriter(sw, format);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;143</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     Document document = DocumentHelper.parseText(html);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;144</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     writer.write(document);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;145</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     writer.flush();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;146</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     return sw.toString();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;147</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;148</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;149</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;150</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;151</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This example shows how to create a "squeezed" document, but one that will</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;152</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * work in browsers even if the browser line length is limited. No newlines are</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;153</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * included, no extra whitespace at all, except where it it required by</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;154</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link #setPreformattedTags(java.util.Set) setPreformattedTags}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;155</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;156</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;157</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;158</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * String testCrunch(String html) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;159</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     StringWriter sw = new StringWriter();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;160</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     OutputFormat format = OutputFormat.createPrettyPrint();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;161</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setNewlines(false);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;162</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setTrimText(true);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;163</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setIndent(&amp;quot;&amp;quot;);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;164</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setXHTML(true);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;165</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setExpandEmptyElements(false);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;166</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setNewLineAfterNTags(20);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;167</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     org.dom4j.io.HTMLWriter writer = new HTMLWriter(sw, format);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;168</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     org.dom4j.Document document = DocumentHelper.parseText(html);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;169</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     writer.write(document);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;170</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     writer.flush();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;171</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     return sw.toString();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;172</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;173</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;174</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;175</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/blockquote&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;176</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;177</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> &lt;a href="mailto:james.strachan@metastuff.com"&gt;James Strachan &lt;/a&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;178</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Laramie Crocker</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;179</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.21 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;180</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
<A name="HTMLWriter">&nbsp;181</A></TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> HTMLWriter <span class="keyword">extends</span> XMLWriter {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;182</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> String lineSeparator = System.getProperty(<span class="string">"line.separator"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;183</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;184</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final HashSet DEFAULT_PREFORMATTED_TAGS;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;185</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;186</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">static</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;187</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// If you change this list, update the javadoc examples, above in the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;188</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// class javadoc, in writeElement, and in setPreformattedTags().</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;189</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 189: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 189: statement executed 1 time.">        DEFAULT_PREFORMATTED_TAGS = <span class="keyword">new</span> HashSet();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;190</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 190: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 190: statement executed 1 time.">        DEFAULT_PREFORMATTED_TAGS.add(<span class="string">"PRE"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;191</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 191: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 191: statement executed 1 time.">        DEFAULT_PREFORMATTED_TAGS.add(<span class="string">"SCRIPT"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;192</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 192: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 192: statement executed 1 time.">        DEFAULT_PREFORMATTED_TAGS.add(<span class="string">"STYLE"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;193</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 193: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 193: statement executed 1 time.">        DEFAULT_PREFORMATTED_TAGS.add(<span class="string">"TEXTAREA"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;194</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;195</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;196</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final OutputFormat DEFAULT_HTML_FORMAT;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;197</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;198</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">static</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;199</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 199: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: statement executed 1 time.">        DEFAULT_HTML_FORMAT = <span class="keyword">new</span> OutputFormat(<span class="string">"  "</span>, <span class="keyword">true</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;200</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 200: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 200: statement executed 1 time.">        DEFAULT_HTML_FORMAT.setTrimText(<span class="keyword">true</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;201</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 201: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 201: statement executed 1 time.">        DEFAULT_HTML_FORMAT.setSuppressDeclaration(<span class="keyword">true</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;202</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;203</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;204</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Stack formatStack = <span class="keyword">new</span> Stack();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;205</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;206</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String lastText = <span class="string">""</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;207</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;208</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> tagsOuput = 0;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;209</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;210</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// legal values are 0+, but -1 signifies lazy initialization.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;211</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> newLineAfterNTags = -1;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;212</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;213</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> HashSet preformattedTags = DEFAULT_PREFORMATTED_TAGS;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;214</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;215</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;216</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Used to store the qualified element names which should have no close</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;217</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * element tag</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;218</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;219</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> HashSet omitElementCloseSet;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;220</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;221</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 221: method entered 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 221: method entered 1 time.">    <span class="keyword">public</span> HTMLWriter(Writer writer) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;222</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 222: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 222: statement executed 1 time.">        <span class="keyword">super</span>(writer, DEFAULT_HTML_FORMAT);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;223</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;224</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;225</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 225: method entered 5 times.">&nbsp;5</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: method entered 5 times.">    <span class="keyword">public</span> HTMLWriter(Writer writer, OutputFormat format) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;226</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 226: statement executed 5 times.">&nbsp;5</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 226: statement executed 5 times.">        <span class="keyword">super</span>(writer, format);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;227</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;228</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;229</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 229: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 229: method not entered.">    <span class="keyword">public</span> HTMLWriter() <span class="keyword">throws</span> UnsupportedEncodingException {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;230</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 230: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 230: statement not executed.">        <span class="keyword">super</span>(DEFAULT_HTML_FORMAT);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;231</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;232</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;233</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 233: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 233: method not entered.">    <span class="keyword">public</span> HTMLWriter(OutputFormat format) <span class="keyword">throws</span> UnsupportedEncodingException {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;234</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 234: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 234: statement not executed.">        <span class="keyword">super</span>(format);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;235</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;236</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;237</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 237: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 237: method not entered.">    <span class="keyword">public</span> HTMLWriter(OutputStream out) <span class="keyword">throws</span> UnsupportedEncodingException {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;238</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 238: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 238: statement not executed.">        <span class="keyword">super</span>(out, DEFAULT_HTML_FORMAT);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;239</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;240</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;241</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 241: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 241: method not entered.">    <span class="keyword">public</span> HTMLWriter(OutputStream out, OutputFormat format)</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;242</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> UnsupportedEncodingException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;243</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 243: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 243: statement not executed.">        <span class="keyword">super</span>(out, format);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;244</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;245</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;246</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 246: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 246: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startCDATA() <span class="keyword">throws</span> SAXException {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;247</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;248</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;249</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 249: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 249: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endCDATA() <span class="keyword">throws</span> SAXException {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;250</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;251</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;252</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Overloaded methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;253</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// added isXHTML() stuff so you get the CDATA brackets if you desire.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;254</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 254: method entered 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 254: method entered 1 time.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeCDATA(String text) <span class="keyword">throws</span> IOException {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;255</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// XXX: Should we escape entities?</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;256</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// writer.write( escapeElementEntities( text ) );</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;257</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 257: expression evaluated to true 0 times, false 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 257: expression evaluated to true 0 times, false 1 time.">        <span class="keyword">if</span> (getOutputFormat().isXHTML()) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;258</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 258: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 258: statement not executed.">            <span class="keyword">super</span>.writeCDATA(text);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;259</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;260</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 260: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 260: statement executed 1 time.">            writer.write(text);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;261</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;262</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;263</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 263: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 263: statement executed 1 time.">        lastOutputNodeType = Node.CDATA_SECTION_NODE;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;264</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;265</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;266</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 266: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 266: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeEntity(Entity entity) <span class="keyword">throws</span> IOException {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;267</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 267: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 267: statement not executed.">        writer.write(entity.getText());</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;268</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 268: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 268: statement not executed.">        lastOutputNodeType = Node.ENTITY_REFERENCE_NODE;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;269</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;270</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;271</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 271: method entered 3 times.">&nbsp;3</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 271: method entered 3 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeDeclaration() <span class="keyword">throws</span> IOException {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;272</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;273</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;274</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 274: method entered 4 times.">&nbsp;4</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 274: method entered 4 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeString(String text) <span class="keyword">throws</span> IOException {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;275</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;276</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * DOM stores \n at the end of text nodes that are newlines. This is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;277</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * significant if we are in a PRE section. However, we only want to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;278</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * output the system line.separator, not \n. This is a little brittle,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;279</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * but this function appears to be called with these lineseparators as a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;280</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * separate TEXT_NODE. If we are in a preformatted section, output the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;281</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * right line.separator, otherwise ditch. If the single \n character is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;282</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * not the text, then do the super thing to output the text.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;283</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;284</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * Also, we store the last text that was not a \n since it may be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;285</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * by writeElement in this class to line up preformatted tags.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;286</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;287</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 287: expression evaluated to true 0 times, false 4 times.">&nbsp;4</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 287: expression evaluated to true 0 times, false 4 times.">        <span class="keyword">if</span> (text.equals(<span class="string">"\n"</span>)) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;288</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 288: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 288: statement not executed.">            <span class="keyword">if</span> (!formatStack.empty()) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;289</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 289: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 289: statement not executed.">                <span class="keyword">super</span>.writeString(lineSeparator);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;290</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;291</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;292</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 292: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 292: statement not executed.">            <span class="keyword">return</span>;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;293</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;294</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;295</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 295: statement executed 4 times.">&nbsp;4</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 295: statement executed 4 times.">        lastText = text;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;296</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;297</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 297: expression evaluated to true 4 times, false 0 times.">&nbsp;4</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 297: expression evaluated to true 4 times, false 0 times.">        <span class="keyword">if</span> (formatStack.empty()) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;298</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 298: statement executed 4 times.">&nbsp;4</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 298: statement executed 4 times.">            <span class="keyword">super</span>.writeString(text.trim());</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;299</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;300</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 300: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 300: statement not executed.">            <span class="keyword">super</span>.writeString(text);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;301</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;302</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;303</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;304</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;305</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Overriden method to not close certain element names to avoid wierd</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;306</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * behaviour from browsers for versions up to 5.x</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;307</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;308</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qualifiedName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;309</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;310</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;311</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;312</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;313</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;314</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 314: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 314: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeClose(String qualifiedName) <span class="keyword">throws</span> IOException {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;315</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 315: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 315: statement not executed.">        <span class="keyword">if</span> (!omitElementClose(qualifiedName)) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;316</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 316: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 316: statement not executed.">            <span class="keyword">super</span>.writeClose(qualifiedName);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;317</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;318</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;319</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;320</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 320: method entered 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 320: method entered 2 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeEmptyElementClose(String qualifiedName)</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;321</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;322</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 322: expression evaluated to true 0 times, false 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 322: expression evaluated to true 0 times, false 2 times.">        <span class="keyword">if</span> (getOutputFormat().isXHTML()) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;323</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// xhtml, always check with format object whether to expand or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;324</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 324: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 324: statement not executed.">            <span class="keyword">if</span> (omitElementClose(qualifiedName)) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;325</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// it was a special omit tag, do it the XHTML way: "&lt;br/&gt;",</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;326</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// ignoring the expansion option, since &lt;br&gt;&lt;/br&gt; is OK XML,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;327</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// but produces twice the linefeeds desired in the browser.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;328</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// for netscape 4.7, though all are fine with it, write a space</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;329</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// before the close slash.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;330</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 330: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 330: statement not executed.">                writer.write(<span class="string">" /&gt;"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;331</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;332</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 332: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 332: statement not executed.">                <span class="keyword">super</span>.writeEmptyElementClose(qualifiedName);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;333</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;334</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;335</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// html, not xhtml</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;336</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 336: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 336: statement executed 2 times.">            <span class="keyword">if</span> (omitElementClose(qualifiedName)) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;337</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// it was a special omit tag, do it the old html way: "&lt;br&gt;".</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;338</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 338: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 338: statement executed 1 time.">                writer.write(<span class="string">"&gt;"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;339</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;340</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// it was NOT a special omit tag, check with format object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;341</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// whether to expand or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;342</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 342: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 342: statement executed 1 time.">                <span class="keyword">super</span>.writeEmptyElementClose(qualifiedName);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;343</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;344</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;345</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;346</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;347</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 347: method entered 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 347: method entered 2 times.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> omitElementClose(String qualifiedName) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;348</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 348: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 348: statement executed 2 times.">        <span class="keyword">return</span> internalGetOmitElementCloseSet().contains(</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;349</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                qualifiedName.toUpperCase());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;350</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;351</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;352</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 352: method entered 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 352: method entered 2 times.">    <span class="keyword">private</span> HashSet internalGetOmitElementCloseSet() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;353</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 353: expression evaluated to true 2 times, false 0 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 353: expression evaluated to true 2 times, false 0 times.">        <span class="keyword">if</span> (omitElementCloseSet == <span class="keyword">null</span>) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;354</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 354: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 354: statement executed 2 times.">            omitElementCloseSet = <span class="keyword">new</span> HashSet();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;355</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 355: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 355: statement executed 2 times.">            loadOmitElementCloseSet(omitElementCloseSet);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;356</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;357</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;358</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 358: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 358: statement executed 2 times.">        <span class="keyword">return</span> omitElementCloseSet;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;359</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;360</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;361</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// If you change this, change the javadoc for getOmitElementCloseSet.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;362</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 362: method entered 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 362: method entered 2 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> loadOmitElementCloseSet(Set set) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;363</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 363: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 363: statement executed 2 times.">        set.add(<span class="string">"AREA"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;364</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 364: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 364: statement executed 2 times.">        set.add(<span class="string">"BASE"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;365</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 365: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 365: statement executed 2 times.">        set.add(<span class="string">"BR"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;366</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 366: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 366: statement executed 2 times.">        set.add(<span class="string">"COL"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;367</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 367: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 367: statement executed 2 times.">        set.add(<span class="string">"HR"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;368</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 368: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 368: statement executed 2 times.">        set.add(<span class="string">"IMG"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;369</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 369: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 369: statement executed 2 times.">        set.add(<span class="string">"INPUT"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;370</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 370: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 370: statement executed 2 times.">        set.add(<span class="string">"LINK"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;371</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 371: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 371: statement executed 2 times.">        set.add(<span class="string">"META"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;372</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 372: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 372: statement executed 2 times.">        set.add(<span class="string">"P"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;373</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 373: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 373: statement executed 2 times.">        set.add(<span class="string">"PARAM"</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;374</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;375</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;376</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// let the people see the set, but not modify it.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;377</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;378</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;379</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A clone of the Set of elements that can have their close-tags omitted. By</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;380</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * default it should be "AREA", "BASE", "BR", "COL", "HR", "IMG", "INPUT",</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;381</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * "LINK", "META", "P", "PARAM"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;382</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;383</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> A clone of the Set.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;384</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;385</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 385: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 385: method not entered.">    <span class="keyword">public</span> Set getOmitElementCloseSet() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;386</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 386: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 386: statement not executed.">        <span class="keyword">return</span> (Set) (internalGetOmitElementCloseSet().clone());</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;387</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;388</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;389</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;390</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * To use the empty set, pass an empty Set, or null:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;391</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;392</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;393</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;394</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;395</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       setOmitElementCloseSet(new HashSet());</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;396</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *     or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;397</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       setOmitElementCloseSet(null);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;398</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;399</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;400</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;401</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;402</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> newSet</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;403</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;404</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;405</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 405: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 405: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setOmitElementCloseSet(Set newSet) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;406</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// resets, and safely empties it out if newSet is null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;407</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 407: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 407: statement not executed.">        omitElementCloseSet = <span class="keyword">new</span> HashSet();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;408</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;409</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 409: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 409: statement not executed.">        <span class="keyword">if</span> (newSet != <span class="keyword">null</span>) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;410</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 410: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 410: statement not executed.">            omitElementCloseSet = <span class="keyword">new</span> HashSet();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;411</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;412</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 412: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 412: statement not executed.">            Object aTag;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;413</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 413: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 413: statement not executed.">            Iterator iter = newSet.iterator();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;414</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;415</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 415: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 415: statement not executed.">            <span class="keyword">while</span> (iter.hasNext()) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;416</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 416: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 416: statement not executed.">                aTag = iter.next();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;417</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;418</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 418: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 418: statement not executed.">                <span class="keyword">if</span> (aTag != <span class="keyword">null</span>) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;419</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 419: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 419: statement not executed.">                    omitElementCloseSet.add(aTag.toString().toUpperCase());</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;420</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;421</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;422</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;423</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;424</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;425</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;426</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #setPreformattedTags(java.util.Set) setPreformattedTags</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;427</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;428</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 428: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 428: method not entered.">    <span class="keyword">public</span> Set getPreformattedTags() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;429</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 429: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 429: statement not executed.">        <span class="keyword">return</span> (Set) (preformattedTags.clone());</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;430</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;431</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;432</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;433</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;434</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Override the default set, which includes PRE, SCRIPT, STYLE, and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;435</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * TEXTAREA, case insensitively.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;436</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;437</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;438</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;439</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;b&gt;Setting Preformatted Tags &lt;/b&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;440</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;441</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;442</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;443</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Pass in a Set of Strings, one for each tag name that should be treated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;444</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * like a PRE tag. You may pass in null or an empty Set to assign the empty</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;445</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * set, in which case no tags will be treated as preformatted, except that</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;446</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * HTML Comments will continue to be preformatted. If a tag is included in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;447</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the set of preformatted tags, all whitespace within the tag will be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;448</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * preserved, including whitespace on the same line preceding the close tag.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;449</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will generally make the close tag not line up with the start tag,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;450</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * but it preserves the intention of the whitespace within the tag.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;451</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;452</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;453</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;454</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The browser considers leading whitespace before the close tag to be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;455</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * significant, but leading whitespace before the open tag to be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;456</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * insignificant. For example, if the HTML author doesn't put the close</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;457</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * TEXTAREA tag flush to the left margin, then the TEXTAREA control in the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;458</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * browser will have spaces on the last line inside the control. This may be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;459</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the HTML author's intent. Similarly, in a PRE, the browser treats a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;460</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * flushed left close PRE tag as different from a close tag with leading</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;461</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * whitespace. Again, this must be left up to the HTML author.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;462</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;463</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;464</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;465</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;b&gt;Examples &lt;/b&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;466</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;467</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;blockquote&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;468</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;469</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Here is an example of how you can set the PreformattedTags list using</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;470</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * setPreformattedTags to include IFRAME, as well as the default set, if you</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;471</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * have an instance of this class named myHTMLWriter:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;472</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;473</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;474</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Set current = myHTMLWriter.getPreformattedTags();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;475</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * current.add(&amp;quot;IFRAME&amp;quot;);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;476</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * myHTMLWriter.setPreformattedTags(current);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;477</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;478</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * //The set is now &amp;lt;b&amp;gt;PRE, SCRIPT, STYLE, TEXTAREA, IFRAME&amp;lt;/b&amp;gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;479</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;480</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;481</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;482</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;483</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Similarly, you can simply replace it with your own:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;484</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;485</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;486</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;487</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;488</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       HashSet newset = new HashSet();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;489</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       newset.add(&amp;quot;PRE&amp;quot;);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;490</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       newset.add(&amp;quot;TEXTAREA&amp;quot;);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;491</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       myHTMLWriter.setPreformattedTags(newset);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;492</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;493</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       //The set is now &amp;lt;b&amp;gt;{PRE, TEXTAREA}&amp;lt;/b&amp;gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;494</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;495</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;496</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;497</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;498</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * You can remove all tags from the preformatted tags list, with an empty</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;499</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * set, like this:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;500</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;501</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;502</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;503</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;504</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       myHTMLWriter.setPreformattedTags(new HashSet());</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;505</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;506</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       //The set is now &amp;lt;b&amp;gt;{}&amp;lt;/b&amp;gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;507</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;508</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;509</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;510</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;511</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * or with null, like this:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;512</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;513</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;514</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;515</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;516</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       myHTMLWriter.setPreformattedTags(null);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;517</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;518</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       //The set is now &amp;lt;b&amp;gt;{}&amp;lt;/b&amp;gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;519</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;520</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;521</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/pre&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;522</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;523</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/p&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;524</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;/blockquote&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;525</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;526</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> newSet</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;527</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;528</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;529</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 529: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 529: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPreformattedTags(Set newSet) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;530</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// no fancy merging, just set it, assuming they did a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;531</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// getExcludeTrimTags() first if they wanted to preserve the default</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;532</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// set.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;533</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// resets, and safely empties it out if newSet is null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;534</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 534: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 534: statement not executed.">        preformattedTags = <span class="keyword">new</span> HashSet();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;535</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;536</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 536: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 536: statement not executed.">        <span class="keyword">if</span> (newSet != <span class="keyword">null</span>) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;537</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 537: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 537: statement not executed.">            Object aTag;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;538</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 538: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 538: statement not executed.">            Iterator iter = newSet.iterator();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;539</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;540</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 540: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 540: statement not executed.">            <span class="keyword">while</span> (iter.hasNext()) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;541</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 541: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 541: statement not executed.">                aTag = iter.next();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;542</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;543</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 543: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 543: statement not executed.">                <span class="keyword">if</span> (aTag != <span class="keyword">null</span>) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;544</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 544: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 544: statement not executed.">                    preformattedTags.add(aTag.toString().toUpperCase());</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;545</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;546</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;547</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;548</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;549</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;550</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;551</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;552</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;553</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qualifiedName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;554</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;555</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;556</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the qualifiedName passed in matched (case-insensitively)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;557</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         a tag in the preformattedTags set, or false if not found or if</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;558</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         the set is empty or null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;559</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;560</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #setPreformattedTags(java.util.Set) setPreformattedTags</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;561</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;562</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 562: method entered 9 times.">&nbsp;9</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 562: method entered 9 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isPreformattedTag(String qualifiedName) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;563</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// A null set implies that the user called setPreformattedTags(null),</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;564</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// which means they want no tags to be preformatted.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;565</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 565: statement executed 9 times.">&nbsp;9</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 565: statement executed 9 times.">        <span class="keyword">return</span> (preformattedTags != <span class="keyword">null</span>)</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;566</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                &amp;&amp; (preformattedTags.contains(qualifiedName.toUpperCase()));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;567</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;568</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;569</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;570</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This override handles any elements that should not remove whitespace,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;571</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * such as &amp;lt;PRE&amp;gt;, &amp;lt;SCRIPT&amp;gt;, &amp;lt;STYLE&amp;gt;, and &amp;lt;TEXTAREA&amp;gt;.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;572</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Note: the close tags won't line up with the open tag, but we can't alter</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;573</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * that. See javadoc note at setPreformattedTags.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;574</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;575</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;576</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;577</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;578</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;579</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             When the stream could not be written to.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;580</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;581</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #setPreformattedTags(java.util.Set) setPreformattedTags</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;582</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;583</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 583: method entered 9 times.">&nbsp;9</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 583: method entered 9 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeElement(Element element) <span class="keyword">throws</span> IOException {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;584</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 584: statement executed 9 times.">&nbsp;9</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 584: statement executed 9 times.">        <span class="keyword">if</span> (newLineAfterNTags == -1) { <span class="comment">// lazy initialization check</span></A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;585</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 585: statement executed 3 times.">&nbsp;3</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 585: statement executed 3 times.">            lazyInitNewLinesAfterNTags();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;586</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;587</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;588</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 588: expression evaluated to true 0 times, false 9 times.">&nbsp;9</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 588: expression evaluated to true 0 times, false 9 times.">        <span class="keyword">if</span> (newLineAfterNTags &gt; 0) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;589</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 589: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 589: statement not executed.">            <span class="keyword">if</span> ((tagsOuput &gt; 0) &amp;&amp; ((tagsOuput % newLineAfterNTags) == 0)) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;590</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 590: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 590: statement not executed.">                <span class="keyword">super</span>.writer.write(lineSeparator);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;591</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;592</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;593</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;594</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 594: statement executed 9 times.">&nbsp;9</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 594: statement executed 9 times.">        tagsOuput++;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;595</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;596</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 596: statement executed 9 times.">&nbsp;9</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 596: statement executed 9 times.">        String qualifiedName = element.getQualifiedName();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;597</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 597: statement executed 9 times.">&nbsp;9</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 597: statement executed 9 times.">        String saveLastText = lastText;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;598</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 598: statement executed 9 times.">&nbsp;9</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 598: statement executed 9 times.">        <span class="keyword">int</span> size = element.nodeCount();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;599</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;600</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 600: expression evaluated to true 0 times, false 9 times.">&nbsp;9</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 600: expression evaluated to true 0 times, false 9 times.">        <span class="keyword">if</span> (isPreformattedTag(qualifiedName)) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;601</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 601: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 601: statement not executed.">            OutputFormat currentFormat = getOutputFormat();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;602</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 602: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 602: statement not executed.">            <span class="keyword">boolean</span> saveNewlines = currentFormat.isNewlines();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;603</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 603: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 603: statement not executed.">            <span class="keyword">boolean</span> saveTrimText = currentFormat.isTrimText();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;604</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 604: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 604: statement not executed.">            String currentIndent = currentFormat.getIndent();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;605</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;606</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// You could have nested PREs, or SCRIPTS within PRE... etc.,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;607</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// therefore use push and pop.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;608</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 608: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 608: statement not executed.">            formatStack.push(<span class="keyword">new</span> FormatState(saveNewlines, saveTrimText,</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;609</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                    currentIndent));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;610</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;611</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 611: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 611: statement not executed.">            <span class="keyword">try</span> {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;612</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// do this manually, since it won't be done while outputting</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;613</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// the tag.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;614</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 614: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 614: statement not executed.">                <span class="keyword">super</span>.writePrintln();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;615</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;616</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 616: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 616: statement not executed.">                <span class="keyword">if</span> ((saveLastText.trim().length() == 0)</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;617</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                        &amp;&amp; (currentIndent != <span class="keyword">null</span>)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;618</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                        &amp;&amp; (currentIndent.length() &gt; 0)) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;619</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// We are indenting, but we want to line up with the close</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;620</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// tag. lastText was the indent (whitespace, no \n) before</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;621</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// the preformatted start tag. So write it out instead of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;622</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// the current indent level. This makes it line up with its</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;623</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// close tag.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;624</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 624: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 624: statement not executed.">                    <span class="keyword">super</span>.writer.write(justSpaces(saveLastText));</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;625</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;626</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;627</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// actually, newlines are handled in this class by writeString,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;628</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// depending on if the stack is empty.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;629</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 629: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 629: statement not executed.">                currentFormat.setNewlines(<span class="keyword">false</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;630</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 630: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 630: statement not executed.">                currentFormat.setTrimText(<span class="keyword">false</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;631</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 631: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 631: statement not executed.">                currentFormat.setIndent(<span class="string">""</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;632</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;633</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// This line is the recursive one:</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;634</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 634: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 634: statement not executed.">                <span class="keyword">super</span>.writeElement(element);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;635</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">finally</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;636</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 636: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 636: statement not executed.">                FormatState state = (FormatState) formatStack.pop();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;637</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 637: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 637: statement not executed.">                currentFormat.setNewlines(state.isNewlines());</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;638</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 638: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 638: statement not executed.">                currentFormat.setTrimText(state.isTrimText());</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;639</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 639: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 639: statement not executed.">                currentFormat.setIndent(state.getIndent());</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;640</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;641</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;642</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 642: statement executed 9 times.">&nbsp;9</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 642: statement executed 9 times.">            <span class="keyword">super</span>.writeElement(element);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;643</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;644</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;645</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;646</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 646: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 646: method not entered.">    <span class="keyword">private</span> String justSpaces(String text) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;647</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 647: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 647: statement not executed.">        <span class="keyword">int</span> size = text.length();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;648</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 648: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 648: statement not executed.">        StringBuffer res = <span class="keyword">new</span> StringBuffer(size);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;649</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 649: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 649: statement not executed.">        <span class="keyword">char</span> c;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;650</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;651</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 651: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 651: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &lt; size; i++) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;652</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 652: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 652: statement not executed.">            c = text.charAt(i);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;653</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;654</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 654: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 654: statement not executed.">            <span class="keyword">switch</span> (c) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;655</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 655: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 655: statement not executed.">                <span class="keyword">case</span> '\r':</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;656</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 656: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 656: statement not executed.">                <span class="keyword">case</span> '\n':</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;657</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;658</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 658: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 658: statement not executed.">                    <span class="keyword">continue</span>;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;659</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;660</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 660: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 660: statement not executed.">                <span class="keyword">default</span>:</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;661</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 661: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 661: statement not executed.">                    res.append(c);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;662</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;663</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;664</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;665</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 665: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 665: statement not executed.">        <span class="keyword">return</span> res.toString();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;666</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;667</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;668</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 668: method entered 3 times.">&nbsp;3</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 668: method entered 3 times.">    <span class="keyword">private</span> <span class="keyword">void</span> lazyInitNewLinesAfterNTags() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;669</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 669: statement executed 3 times.">&nbsp;3</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 669: statement executed 3 times.">        <span class="keyword">if</span> (getOutputFormat().isNewlines()) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;670</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// don't bother, newlines are going to happen anyway.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;671</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 671: statement executed 2 times.">&nbsp;2</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 671: statement executed 2 times.">            newLineAfterNTags = 0;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;672</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;673</TD>
<TD align="right" class="lineCountHilight">
<A title="Line 673: statement executed 1 time.">&nbsp;1</A>
</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 673: statement executed 1 time.">            newLineAfterNTags = getOutputFormat().getNewLineAfterNTags();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;674</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;675</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;676</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;677</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Convenience methods, static, with bunch-o-defaults</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;678</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;679</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;680</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Convenience method to just get a String result.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;681</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;682</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> html</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;683</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;684</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;685</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a pretty printed String from the source string, preserving</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;686</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         whitespace in the defaultPreformattedTags set, and leaving the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;687</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         close tags off of the default omitElementCloseSet set. Use one of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;688</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         the write methods if you want stream output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;689</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;690</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> java.io.IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;691</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> java.io.UnsupportedEncodingException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;692</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> org.dom4j.DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;693</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;694</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 694: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 694: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> String prettyPrintHTML(String html)</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;695</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> java.io.IOException, java.io.UnsupportedEncodingException,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;696</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            org.dom4j.DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;697</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 697: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 697: statement not executed.">        <span class="keyword">return</span> prettyPrintHTML(html, <span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">false</span>, <span class="keyword">true</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;698</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;699</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;700</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;701</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Convenience method to just get a String result, but &lt;b&gt;As XHTML &lt;/b&gt;.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;702</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;703</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> html</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;704</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;705</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;706</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a pretty printed String from the source string, preserving</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;707</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         whitespace in the defaultPreformattedTags set, but conforming to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;708</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         XHTML: no close tags are omitted (though if empty, they will be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;709</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         converted to XHTML empty tags: &amp;lt;HR/&amp;gt; Use one of the write</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;710</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         methods if you want stream output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;711</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;712</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> java.io.IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;713</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> java.io.UnsupportedEncodingException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;714</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> org.dom4j.DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;715</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;716</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 716: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 716: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> String prettyPrintXHTML(String html)</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;717</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> java.io.IOException, java.io.UnsupportedEncodingException,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;718</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            org.dom4j.DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;719</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 719: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 719: statement not executed.">        <span class="keyword">return</span> prettyPrintHTML(html, <span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">false</span>);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;720</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;721</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;722</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;723</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;724</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;725</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> html</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;726</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;727</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> newlines</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;728</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;729</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> trim</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;730</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;731</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> isXHTML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;732</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;733</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> expandEmpty</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;734</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;735</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;736</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a pretty printed String from the source string, preserving</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;737</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         whitespace in the defaultPreformattedTags set, and leaving the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;738</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         close tags off of the default omitElementCloseSet set. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;739</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         override allows you to specify various formatter options. Use one</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;740</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         of the write methods if you want stream output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;741</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;742</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> java.io.IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;743</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> java.io.UnsupportedEncodingException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;744</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> org.dom4j.DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;745</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;746</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 746: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 746: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> String prettyPrintHTML(String html, <span class="keyword">boolean</span> newlines,</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;747</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">boolean</span> trim, <span class="keyword">boolean</span> isXHTML, <span class="keyword">boolean</span> expandEmpty)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;748</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> java.io.IOException, java.io.UnsupportedEncodingException,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;749</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">            org.dom4j.DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;750</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 750: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 750: statement not executed.">        StringWriter sw = <span class="keyword">new</span> StringWriter();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;751</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 751: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 751: statement not executed.">        OutputFormat format = OutputFormat.createPrettyPrint();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;752</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 752: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 752: statement not executed.">        format.setNewlines(newlines);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;753</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 753: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 753: statement not executed.">        format.setTrimText(trim);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;754</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 754: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 754: statement not executed.">        format.setXHTML(isXHTML);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;755</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 755: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 755: statement not executed.">        format.setExpandEmptyElements(expandEmpty);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;756</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;757</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 757: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 757: statement not executed.">        HTMLWriter writer = <span class="keyword">new</span> HTMLWriter(sw, format);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;758</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 758: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 758: statement not executed.">        Document document = DocumentHelper.parseText(html);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;759</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 759: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 759: statement not executed.">        writer.write(document);</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;760</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 760: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 760: statement not executed.">        writer.flush();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;761</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;762</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 762: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 762: statement not executed.">        <span class="keyword">return</span> sw.toString();</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;763</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;764</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;765</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Allows us to the current state of the format in this struct on the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;766</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// formatStack.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
<A name="FormatState">&nbsp;767</A></TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">class</span> FormatState {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;768</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">private</span> <span class="keyword">boolean</span> newlines = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;769</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;770</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">private</span> <span class="keyword">boolean</span> trimText = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;771</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;772</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">private</span> String indent = <span class="string">""</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;773</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;774</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 774: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 774: method not entered.">        <span class="keyword">public</span> FormatState(<span class="keyword">boolean</span> newLines, <span class="keyword">boolean</span> trimText, String indent) {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;775</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 775: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 775: statement not executed.">            <span class="keyword">this</span>.newlines = newLines;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;776</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 776: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 776: statement not executed.">            <span class="keyword">this</span>.trimText = trimText;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;777</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 777: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 777: statement not executed.">            <span class="keyword">this</span>.indent = indent;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;778</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;779</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;780</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 780: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 780: method not entered.">        <span class="keyword">public</span> <span class="keyword">boolean</span> isNewlines() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;781</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 781: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 781: statement not executed.">            <span class="keyword">return</span> newlines;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;782</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;783</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;784</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 784: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 784: method not entered.">        <span class="keyword">public</span> <span class="keyword">boolean</span> isTrimText() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;785</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 785: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 785: statement not executed.">            <span class="keyword">return</span> trimText;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;786</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;787</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;788</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 788: method not entered.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 788: method not entered.">        <span class="keyword">public</span> String getIndent() {</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
&nbsp;789</TD>
<TD align="right" class="coverageCountHilight">
<A title="Line 789: statement not executed.">&nbsp;0</A>
</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 789: statement not executed.">            <span class="keyword">return</span> indent;</A>
</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;790</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;791</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;792</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;793</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;794</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;795</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;html&gt; &lt;head&gt; &lt;title&gt;My Title &lt;/title&gt; &lt;style&gt; .foo { text-align: Right; }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;796</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;/style&gt; &lt;script&gt; function mojo(){ return "bar"; } &lt;/script&gt; &lt;script</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;797</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * language="JavaScript"&gt; &lt;!-- //this is the canonical javascript hiding.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;798</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * function foo(){ return "foo"; } //--&gt; &lt;/script&gt; &lt;/head&gt; &lt;!-- this is a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;799</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * comment --&gt; &lt;body bgcolor="#A4BFDD" mojo="&amp;amp;"&gt; entities: &amp;#160; &amp;amp;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;800</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &amp;quot; &amp;lt; &amp;gt; %23 &lt;p&gt;&lt;/p&gt; &lt;mojo&gt; &lt;/mojo&gt; &lt;foo /&gt; &lt;table border="1"&gt; &lt;tr&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;801</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;td&gt;&lt;pre&gt; line0 &lt;hr /&gt; line1 &lt;b&gt;line2, should line up, indent-wise &lt;/b&gt; line</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;802</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3 line 4 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;myCDATAElement&gt; &lt;![CDATA[My</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;803</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * data]]&gt; &lt;/myCDATAElement&gt; &lt;/body&gt; &lt;/html&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;804</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;805</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;806</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;807</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;808</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;809</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;810</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;811</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;812</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;813</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;814</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;815</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;816</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;817</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;818</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;819</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;820</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info@metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;821</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;822</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;823</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;824</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;825</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;826</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;827</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;828</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;829</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;830</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;831</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;832</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;833</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;834</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;835</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;836</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;837</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;838</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;839</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;840</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
&nbsp;841</TD>
<TD align="right" class="coverageCount">
&nbsp;&nbsp;
</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
<TABLE width="100%"><TR><TD class="hbreak" colspan="6">&nbsp;</TD></TR>
<TR><TD class="footer" colspan="6">
<table>
<tr>
 <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
<td>&nbsp;</td><td style="BORDER-LEFT: #9c9c9c 1px solid;">&nbsp;</td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
</tr>
</table>
</td>
</tr></TABLE>
